Preserving Separation of Concerns Through Compilation
نویسندگان
چکیده
Current aspect-oriented (AO) compilation techniques fail to preserve the separation of concerns for postcompilation phases. At the minimum, it makes efficient incremental compilation and unit testing of AO programs challenging. The contribution of this work is an improved approach for aspect-oriented compilation. Our approach rests on a new interface between the AO high-level language (HLL) compiler implementation and the runtime environment. Our interface abstracts the realization of the crosscutting behavior at run-time from the HLL compiler implementations. The interface governs the intermediate code that the HLL compiler can generate and the semantics of the crosscutting primitives that it can expect. We present a preliminary evaluation using a simple but representative AO program showing the benefits of our approach. Disciplines Programming Languages and Compilers | Software Engineering This article is available at Iowa State University Digital Repository: http://lib.dr.iastate.edu/cs_techreports/214 Preserving Separation of Concerns Through Compilation Technical Report: Dept. of Computer Sc., Iowa State University Hridesh Rajan Robert Dyer Youssef Hanna Harish Narayanappa Dept. of Computer Science Iowa State University Ames, IA 50010 {hridesh, rdyer, ywhanna, harish}@iastate.edu
منابع مشابه
Preserving Separation of Concerns through Compilation A Position Paper
Today’s aspect-oriented programming (AOP) languages provide software engineers with new possibilities for keeping conceptual concerns separate at the source code level. For a number of reasons, current aspect weavers sacrifice this separation in transforming source to object code (and thus the very term weaving). In this paper, we argue that sacrificing modularity has significant costs, especia...
متن کاملAn Efficient and Flexible Implementation of Aspect-Oriented Languages
Compilers for modern object-oriented programming languages generate code in a platform independent intermediate language [LY99, CLI06] preserving the concepts of the source language; for example, classes, fields, methods, and virtual or static dispatch can be directly identified within the intermediate code. To execute this intermediate code, state-of-the-art implementations of virtual machines...
متن کاملAn Aspect-Oriented Design Framework for Concurrent Systems
The goal of AOP is to achieve an improved separation of concerns in both design, and implementation. Our work concentrates on the aspectual decomposition of concurrent object-oriented systems. Following a component hierarchy within the object-oriented programming paradigm we categorized aspects as intra-method, intra-object and intra-package according to their hierarchical level of cross-cuttin...
متن کاملA Framework for Composable Security Definition, Assurance, and Enforcement
The objective of this research is to develop techniques that integrate alternative security concerns (e.g., mandatory access control, delegation, authentication, etc.) into the software process. The resulting model-driven framework preserves separation of security concerns from modeling through implementation, and allows security personnel to pick and choose security concerns to concerns promot...
متن کاملVirtual separation of concerns: toward preprocessors 2.0
Conditional compilation with preprocessors like cpp is a simple but effective means to implement variability. By annotating code fragments with #ifdef and #endif directives, different program variants with or without these fragments can be created, which can be used (among others) to implement software product lines. Although, preprocessors are frequently used in practice, they are often critic...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006